O <input type="date"> não é suportado pelo Firefox por padrão, sendo necessário habilitar "No Firefox digite na barra de endereços about:config, pesquise da chave dom.forms.datetime e altere seu valor para true". No curso de JavaScript avançado aprendemos a lidar com datas independente do navegador no qual estamos trabalhando e isso também se aplica para um código em TypeScript. Sendo assim, é importante que você use o Chrome até o final do treinamento, pois nosso foco é TypeScript.
Contudo, se você usa o Microsoft Edge, apesar dele suportar este tipo de input, seu comportamento não sai como esperado ao criarmos uma data com a estratégia de this._inputData.value.replace(/-/g, '/')). No caso, podemos trocar de hífen para uma /:
adiciona(event: Event) {
event.preventDefault();
// mudou aqui
const negociacao = new Negociacao(
new Date(this._inputData.value.replace(/-/g, '/')),
parseInt(this._inputQuantidade.value),
parseFloat(this._inputValor.value));
console.log(negociacao);
}
Essa mudança de comportamento funciona tanto no Chrome quanto no Edge (pelo menos nas versões localizadas que testamos). Contudo, ainda é extremamente recomendado que você utilize o Chrome até o final do treinamento.
Sucesso e bom estudos meus alunos!